package com.gmss.crawler.enums;

import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;
import java.util.Optional;

/**
 * 全球华人专家库-
 */
public enum AminerEnum {

    YOUTH_CHANGJIAN_SCHOLAR("5e5e25e5a7058c6e35bb9ecf", "青年长江学者"),
    OUTSTAND_YOUTH("杰青系列", "国家杰出青年，简称：杰青"),
    CAS_ACADEMICIAN("5eff003de1b3def731ef3c71", "中国科学院院士"),
    CAE_ACADEMICIAN("5efed3ced6a2e5c27bdabc62", "中国工程院院士")
    ;

    /**
     * 编码
     */
    private String code;

    /**
     * 说明
     */
    private String value;

    AminerEnum(String code, String value) {
        this.code = code;
        this.value = value;
    }


    /**
     * 根据code获取枚举对象
     *
     * @param code
     * @return
     */
    public static AminerEnum getEnum(String code) {
        if (StringUtils.isBlank(code)) {
            return null;
        }
        AminerEnum[] values = AminerEnum.values();
        if (null != values && values.length > 0) {
            Optional<AminerEnum> first = Arrays.stream(values).filter(enu -> code.equals(enu.getCode())).findFirst();
            if (first.isPresent()) {
                return first.get();
            }
        }
        return null;
    }

    public String getCode() {
        return code;
    }

    public String getValue() {
        return value;
    }


    public static void main(String[] args) {
        System.out.println(AminerEnum.CAS_ACADEMICIAN.getCode());
        System.out.println(AminerEnum.CAS_ACADEMICIAN.getValue());
    }
}
